import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 设备日志信息 */
export interface DevicesLog {
          logId: number; // 日志ID
          deviceId?: number; // ID
          inserted: string | Dayjs; // 插入时间
          status?: boolean; // 状态，1为在线，其他为离线
          statusReason?: string; // 原因
          uptime: number; // 系统运行时间
          agentUptime?: number; // 代理运行时间
          lastPolled: string | Dayjs; // 最后轮询时间
          lastPollAttempted: string | Dayjs; // 最后轮询尝试时间
          lastPolledTimetaken: number; // 最后轮询耗时
          lastDiscoveredTimetaken: number; // 最后发现耗时
          lastDiscovered: string | Dayjs; // 最后发现时间
          lastPing: string | Dayjs; // 最后Ping时间
          lastPingTimetaken: number; // 最后Ping耗时
          snmpyes: string; // SNMP启用状态
  }

// 设备日志 API
export const DevicesLogApi = {
  // 查询设备日志分页
  getDevicesLogPage: async (params: any) => {
    return await request.get({ url: `/business/devices-log/page`, params })
  },

  // 查询设备日志详情
  getDevicesLog: async (id: number) => {
    return await request.get({ url: `/business/devices-log/get?id=` + id })
  },

  // 新增设备日志
  createDevicesLog: async (data: DevicesLog) => {
    return await request.post({ url: `/business/devices-log/create`, data })
  },

  // 修改设备日志
  updateDevicesLog: async (data: DevicesLog) => {
    return await request.put({ url: `/business/devices-log/update`, data })
  },

  // 删除设备日志
  deleteDevicesLog: async (id: number) => {
    return await request.delete({ url: `/business/devices-log/delete?id=` + id })
  },

  /** 批量删除设备日志 */
  deleteDevicesLogList: async (ids: number[]) => {
    return await request.delete({ url: `/business/devices-log/delete-list?ids=${ids.join(',')}` })
  },

  // 导出设备日志 Excel
  exportDevicesLog: async (params) => {
    return await request.download({ url: `/business/devices-log/export-excel`, params })
  },
}